package com.gov.dna.project.entity;

import com.baomidou.mybatisplus.annotations.TableName;
import com.gov.dna.base.entity.BaseNode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.ibatis.type.Alias;

/**
 * 项目
 *
 * @author (作者) Dong Jie 154046519@qq.com
 * @version V1.0
 * @date 2018/12/5 21:36
 * @since (该版本支持的JDK版本) 1.8
 */
@Data
@Alias("Project")
@TableName("proj_project")
@ApiModel(value = "项目Entity:Project")
public class Project extends BaseNode<Project> {


	@ApiModelProperty(value = "状态")
	private String projectStatus;

	@ApiModelProperty(value = "项目年度")
	private String projectYear;

	@ApiModelProperty(value = "项目名称")
	private String projectName;

	@ApiModelProperty(value = "项目类别")
	private String projectCategory;

	@ApiModelProperty(value = "项目介绍")
	private String projectIntroduce;

	@ApiModelProperty(value = "项目负责人")
	private String projectManager;

	@ApiModelProperty(value = "委办厅局")
	private String projectDepartment;

	@ApiModelProperty(value = "项目标签")
	private String projectTag;

	@ApiModelProperty(value = "项目会议纪要")
	private String meetingDoc;

	@ApiModelProperty(value = "项目汇报材料")
	private String reportDoc;

	@ApiModelProperty(value = "项目技术材料")
	private String techDoc;

	@ApiModelProperty(value = "政策文件")
	private String policyDoc;

	@ApiModelProperty(value = "项目学习材料")
	private String studyDoc;

	@ApiModelProperty(value = "项目申报书")
	private String declarationDoc;

	@ApiModelProperty(value = "立项方案")
	private String planDoc;

	@ApiModelProperty(value = "“两办” 预审意见")
	private String opinionDoc;

	@ApiModelProperty(value = "项目预算（“一上”）汇报材料")
	private String budgetDoc1;

	@ApiModelProperty(value = "项目预算（“二上”）汇报材料")
	private String budgetDoc2;

	@ApiModelProperty(value = "立项计划开始时间")
	private String lxPlanStartDate;

	@ApiModelProperty(value = "立项计划结束时间")
	private String lxPlanFinishDate;

	@ApiModelProperty(value = "项目预算批复文件")
	private String budgetApprovalDoc;

	@ApiModelProperty(value = "采购审批表")
	private String purchaseApprovalDoc;

	@ApiModelProperty(value = "项目方案")
	private String projectPlanDoc;

	@ApiModelProperty(value = "采购需求")
	private String purchaseDoc;

	@ApiModelProperty(value = "采购建议书申请表")
	private String purchaseSuggestionDoc;

	@ApiModelProperty(value = "招标文件")
	private String bidderDoc;

	@ApiModelProperty(value = "项目合同签订审批表")
	private String contractApprovalDoc;

	@ApiModelProperty(value = "采购计划开始时间")
	private String cgPlanStartDate;

	@ApiModelProperty(value = "采购计划结束时间")
	private String cgPlanFinishDate;

	@ApiModelProperty(value = "项目合同")
	private String contractDoc;

	@ApiModelProperty(value = "项目建设需求变更审批表")
	private String changingApprovalDoc;

	@ApiModelProperty(value = "项目实施档案")
	private String implementDoc;


	@ApiModelProperty(value = "实施计划开始时间")
	private String ssPlanStartDate;

	@ApiModelProperty(value = "实施计划结束时间")
	private String ssPlanFinishDate;


	@ApiModelProperty(value = "项目验收审批表")
	private String acceptanceApprovalDoc;

	@ApiModelProperty(value = "专家验收意见")
	private String acceptanceOpinionDoc;

	@ApiModelProperty(value = "固定资产验收单")
	private String assetsAcceptanceDoc;

	@ApiModelProperty(value = "信息化项目经费支付审批表")
	private String paymentApprovalDoc;

	@ApiModelProperty(value = "第三方检测报告")
	private String detectionDoc;

	@ApiModelProperty(value = "验收与支付计划开始时间")
	private String ysPlanStartDate;

	@ApiModelProperty(value = "验收与支付计划结束时间")
	private String ysPlanFinishDate;

	@ApiModelProperty(value = "项目绩效评估报告")
	private String appraisalsDoc;

	@ApiModelProperty(value = "项目绩效计划开始时间")
	private String jxPlanStartDate;

	@ApiModelProperty(value = "项目绩效计划结束时间")
	private String jxPlanFinishDate;

	@ApiModelProperty(value = "采购方式")
	private String purchaseWay;

	@ApiModelProperty(value = "项目立项时间")
	private String setupDate;

	@ApiModelProperty(value = "财政拨付金额（元）")
	private Float financialAmount;

	@ApiModelProperty(value = "合同金额（元）")
	private Float contractAmount;

	@ApiModelProperty(value = "本年度申请支付金额（元）")
	private Float appliedAmount;

	@ApiModelProperty(value = "本年度已支付金额（元）")
	private Float paidAmount;

	@ApiModelProperty(value = "本年度支付比例")
	private String paidPercentage;

	@ApiModelProperty(value = "招标采购计划时间")
	private String biddingPlanDate;

	@ApiModelProperty(value = "招标采购实际时间")
	private String biddingDate;

	@ApiModelProperty(value = "合同签订计划时间")
	private String contractPlanDate;

	@ApiModelProperty(value = "合同签订实际时间")
	private String contractDate;

	@ApiModelProperty(value = "合同工期要求（月）")
	private String needTime;

	@ApiModelProperty(value = "实际启动时间")
	private String startDate;

	@ApiModelProperty(value = "计划启动时间")
	private String planStartDate;

	@ApiModelProperty(value = "实际建设完成时间")
	private String finishDate;

	@ApiModelProperty(value = "计划建设完成时间")
	private String planFinishDate;

	@ApiModelProperty(value = "验收时间")
	private String acceptanceDate;

	@ApiModelProperty(value = "存在问题")
	private String problem;

	@Override
	public String nodeLabelField() {
		return projectName;
	}
}
